1
동시성의 분류: 프로세스, 입출력 다중화, 스레드
AI031Lesson 12
00:00

컴퓨터 시스템의 영역에서, 응용 수준의 동시성 논리적 제어 흐름의 의도적인 겹침을 통해 성능과 반응성을 향상시키는 것입니다. 이것은 기능적 추상화입니다: 프로그램은 독립된 작업들로 나뉘며, 이 작업들은 교차 실행되거나 병렬로 수행될 수 있습니다.

1. 동시성의 분류

개발자들은 이러한 동시 흐름을 관리하기 위해 일반적으로 세 가지 기본 메커니즘 중 하나를 선택합니다:

  • 프로세스: 별개의 주소 공간을 가진 높은 격리성; 커널 매개 통신이 필요합니다.
  • 입출력 다중화: 하나의 흐름이 '준비됨' 이벤트 간을 수동으로 전환하는 것(상태 기계).
  • 스레드: 단일 가상 주소 공간을 공유하는 경량 흐름으로 데이터 교환을 쉽게 합니다.
동시 프로그램순차적병렬주요 이유:입출력 지연 숨기기UI 반응성다중 코어 스케일링다중 클라이언트 서버

2. 논리적 실행과 물리적 실행

모든 병렬 프로그램 병렬 프로그램은 모두 동시적이지만, 모든 동시 프로그램이 병렬인 것은 아닙니다. 병렬성은 별개의 하드웨어 코어에서 흐름을 물리적으로 실행하는 것입니다. 동시성은 그러한 실행이 가능하도록 하는 논리적 설계입니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>